home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / etc / bash_completion.d / cpan2dist < prev    next >
Encoding:
Text File  |  2010-11-16  |  1.6 KB  |  53 lines

  1. # bash completion for cpan2dist
  2.  
  3. have cpan2dist &&
  4. _cpan2dist()
  5. {
  6.     local cur prev packagelist cpandirs
  7.  
  8.     COMPREPLY=()
  9.     _get_comp_words_by_ref cur prev
  10.  
  11.     case $prev in
  12.         --format)
  13.             # should remove ":" from COMP_WORDBREAKS, but doesn't work (?)
  14.             COMPREPLY=( $( compgen -W '$(perl -MCPANPLUS::Dist -e \
  15.                 "print map { \"\$_\n\" } CPANPLUS::Dist->dist_types")' \
  16.                 -- "$cur" ) )
  17.             return 0
  18.             ;;
  19.         --banlist|--ignorelist|--modulelist|--logfile)
  20.             _filedir
  21.             return 0
  22.             ;;
  23.     esac
  24.  
  25.     if [[ "$cur" == -* ]]; then
  26.         COMPREPLY=( $( compgen -W '--help --skiptest --force --install \
  27.             --verbose --keepsource --makefile --buildprereq \
  28.             --archive --flushcache --defaults --edit-metafile \
  29.             --format --ban --banlist --ignore --ignorelist \
  30.             --modulelist --logfile --timeout --set-config \
  31.             --set-program --dist-opts --default-banlist \
  32.             --default-ignorelist' -- $cur ) )
  33.     else
  34.         cpandirs=( "$HOME/.cpanplus/" "$HOME/.cpan/source/modules/" )
  35.         for dir in ${cpandirs[@]}; do
  36.             [[ -d "$dir" && -r "$dir/02packages.details.txt.gz" ]] && \
  37.                 packagelist="$dir/02packages.details.txt.gz"
  38.         done
  39.         COMPREPLY=( $( zgrep "^${cur//-/::}" \
  40.             $packagelist 2>/dev/null \
  41.             | awk '{print $1}' | sed -e 's/::/-/g' ) )
  42.     fi
  43. } &&
  44. complete -F _cpan2dist -o default cpan2dist
  45.  
  46. # Local variables:
  47. # mode: shell-script
  48. # sh-basic-offset: 4
  49. # sh-indent-comment: t
  50. # indent-tabs-mode: nil
  51. # End:
  52. # ex: ts=4 sw=4 et filetype=sh
  53.